//     __ _____ _____ _____
//  __|  |   __|     |   | |  JSON for Modern C++
// |  |  |__   |  |  | | | |  version 3.11.3
// |_____|_____|_____|_|___|  https://github.com/nlohmann/json
//
// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
// SPDX-License-Identifier: MIT

#pragma once

#include <cstddef>  // size_t
#include <nlohmann/detail/abi_macros.hpp>

NLOHMANN_JSON_NAMESPACE_BEGIN
namespace detail {

/// struct to capture the start position of the current token
struct position_t {
  /// the total number of characters read
  std::size_t chars_read_total = 0;
  /// the number of characters read in the current line
  std::size_t chars_read_current_line = 0;
  /// the number of lines read
  std::size_t lines_read = 0;

  /// conversion to size_t to preserve SAX interface
  constexpr operator size_t() const { return chars_read_total; }
};

}  // namespace detail
NLOHMANN_JSON_NAMESPACE_END
